DECLARE
	@p_pensja MONEY,
	@p_liczba INT,
	@sql      VARCHAR(100);
-- ustawienie wielkoci pensji
SET @p_pensja = 3000;
-- dynamiczne stworzenie zapytania pobierajcego dane na temat pracownikw
-- zarabiajcych co najmniej 3000 z
SET @sql = 'SELECT COUNT(*) FROM dbo.Pracownicy WHERE pensja >= ' + 
	CAST(@p_pensja AS VARCHAR) + N';';
-- sprawdzenie, czy w bazie istnieje tabela ___tymczasowa
IF OBJECT_ID('dbo.___tymczasowa') IS NOT NULL  
	DROP TABLE dbo.___tymczasowa;    -- jeli tak, to j usuwamy
-- tworzymy tabel od nowa
CREATE TABLE dbo.___tymczasowa     
(
   ilosc INT
);
-- wstawiamy dane do tabeli wywoujc EXEC w poleceniu INSERT
INSERT INTO dbo.___tymczasowa
EXEC (@sql);
-- pobieramy dane do zmiennej @p_liczba uywajc zapytania SELECT
SELECT @p_liczba = ilosc FROM dbo.___tymczasowa;
-- wywietlamy warto zmiennej na ekranie
PRINT @p_liczba;
-- usuwamy tabel tymczasow
DROP TABLE dbo.___tymczasowa;
GO
